put "Stalk Bundle: " && hand into line 1 of card field Out
else
put ";" & hand after line 1 of card field Out
end if
repeat
get the random of hand
if it > 4 and it < (hand - 4) then exit repeat
end repeat
put it into left
if i = 1 then
put "Left Bundle: " && left into line 2 of card field Out
else
put ";" & left after line 2 of card field Out
end if
put (hand - left) into right
subtract 1 from right
if i = 1 then
put "Right Bundle: " && right into line 3 of card field Out
else
put ";" & right after line 3 of card field Out
end if
put 1 into little
if i = 1 then
put "Little Finger:" && little into line 4 of card field Out
else
put "; " & little after line 4 of card field Out
end if
put (right - (4 * trunc(right / 4))) into ring
if ring = 0 then put 4 into ring
if i = 1 then
put "Ring Finger: " && ring into line 5 of card field Out
else
put "; " & ring after line 5 of card field Out
end if
put (left - (4 * trunc(left / 4))) into center
if center = 0 then put 4 into center
if i = 1 then
put "Middle Finger:" && center into line 6 of card field Out
else
put "; " & center after line 6 of card field Out
end if
put little + ring + center into pile
if i = 1 then
put "Reduced Pile: " && pile into line 7 of card field Out
else
put "; " & pile after line 7 of card field Out
end if
if pile = 9 then put 2 into sum
if pile = 5 then put 3 into sum
put hand - pile into hand
put "," & hand after line 1 of card field Out
repeat
get the random of hand
if it > 4 and it < (hand - 4) then exit repeat
end repeat
put it into left
put "," & left after line 2 of card field Out
put (hand - left) into right
subtract 1 from right
put "," & right after line 3 of card field Out
put 1 into little
put ", " & little after line 4 of card field Out
put (right - (4 * trunc(right / 4))) into ring
if ring = 0 then put 4 into ring
put ", " & ring after line 5 of card field Out
put (left - (4 * trunc(left / 4))) into center
if center = 0 then put 4 into center
put ", " & center after line 6 of card field Out
put little + ring + center into pile
put ", " & pile after line 7 of card field Out
if pile = 8 then add 2 to sum
if pile = 4 then add 3 to sum
put hand - pile into hand
put "," & hand after line 1 of card field Out
repeat
get the random of hand
if it > 4 and it < (hand - 4) then exit repeat
end repeat
put it into left
put "," & left after line 2 of card field Out
put (hand - left) into right
subtract 1 from right
put "," & right after line 3 of card field Out
put 1 into little
put ", " & little after line 4 of card field Out
put (right - (4 * trunc(right / 4))) into ring
if ring = 0 then put 4 into ring
put ", " & ring after line 5 of card field Out
put (left - (4 * trunc(left / 4))) into center
if center = 0 then put 4 into center
put ", " & center after line 6 of card field Out
put little + ring + center into pile
put ", " & pile after line 7 of card field Out
if pile = 8 then add 2 to sum
if pile = 4 then add 3 to sum
if i = 1 then
put "The Lines: " && sum into line 8 of card field Out
else
put "; " & sum after line 8 of card field Out
end if
if sum = 6 then put "--- X ---" into line linePos of card field Lines
if sum = 7 then put "---------" into line linePos of card field Lines
if sum = 8 then put "--- ---" into line linePos of card field Lines
if sum = 9 then put "----0----" into line linePos of card field Lines
if i ≥ 1 and i ≤3 then put 2 * ix1 into ix1
if i ≥ 2 and i ≤4 then put 2 * in1 into in1
if i ≥ 3 and i ≤5 then put 2 * in2 into in2
if i ≥ 4 and i ≤6 then put 2 * ix2 into ix2
if sum = 6 or sum = 8 then
if i ≥ 1 and i ≤3 then add 1 to ix1
if i ≥ 2 and i ≤4 then add 1 to in1
if i ≥ 3 and i ≤5 then add 1 to in2
if i ≥ 4 and i ≤6 then add 1 to ix2
end if
subtract 1 from linePos
end repeat
put item 2 of line ix1 + 1 of card field Tri into jx1
put item 2 of line ix2 + 1 of card field Tri into jx2
get item 3 of line jx2 of card field Tri
put "Above: " & it into lin1
get item 5 of line jx2 of card field Tri
put " - The " & it after lin1
get item 3 of line jx1 of card field Tri
put "Below: " & it into lin2
get item 5 of line jx1 of card field Tri
put " - The " & it after lin2
get item 4 of line jx2 of card field Tri
put lin1 & ", " & it into line 1 of card field Indx
get item 4 of line jx1 of card field Tri
put lin2 & ", " & it into line 2 of card field Indx
put (8 * (jx1 - 1)) + jx2 into jx
get item 2 of line jx of card field "Interp"
put "Hexagram #" & it into lin3
put it + 1 into ncard
put lin3 & " - " & item 3 of line it of card field "Interp" into line 3 of card field "Indx"
put item 4 of line it of card field "Interp" into line 4 of card field "Indx"
put item 2 of line in1 + 1 of card field Tri into jn1
put item 2 of line in2 + 1 of card field Tri into jn2
get item 3 of line jn2 of card field Tri
put "N-1: " & it into lin5
get item 3 of line jn1 of card field Tri
put "N-2: " & it into lin6
get item 5 of line jn2 of card field Tri
put " - The " & it after lin5
get item 5 of line jn1 of card field Tri
put " - The " & it after lin6
get item 6 of line jn2 of card field Tri
put lin5 & ", " & it into line 5 of card field Indx
get item 6 of line jn1 of card field Tri
put lin6 & ", " & it into line 6 of card field Indx
end mouseUp
-- part 2 (field)
-- low flags: 01
-- high flags: 2002
-- rect: left=43 top=35 right=137 bottom=475
-- title width / last selected line: 0
-- icon id / first selected line: 0 / 0
-- text alignment: 0
-- font id: 4
-- text size: 9
-- style flags: 0
-- line height: 12
-- part name: Out
-- part 3 (field)
-- low flags: 01
-- high flags: 2002
-- rect: left=2 top=170 right=318 bottom=151
-- title width / last selected line: 0
-- icon id / first selected line: 0 / 0
-- text alignment: 1
-- font id: 4
-- text size: 24
-- style flags: 256
-- line height: 24
-- part name: Lines
----- HyperTalk script -----
on mouseUp
global ncard
go to card ncard
end mouseUp
-- part 4 (button)
-- low flags: 00
-- high flags: A003
-- rect: left=330 top=143 right=165 bottom=512
-- title width / last selected line: 0
-- icon id / first selected line: 0 / 0
-- text alignment: 1
-- font id: 0
-- text size: 12
-- style flags: 0
-- line height: 16
-- part name: Meditate / Clear
----- HyperTalk script -----
on mouseUp
global linePos
put 6 into linePos
put empty into card field Lines
put empty into card field Out
put empty into card field Indx
end mouseUp
on mouseWithin
get the random of 1000
set cursor to 2
end mouseWithin
-- part 6 (field)
-- low flags: 01
-- high flags: 0002
-- rect: left=157 top=172 right=317 bottom=512
-- title width / last selected line: 0
-- icon id / first selected line: 0 / 0
-- text alignment: 1
-- font id: 209
-- text size: 18
-- style flags: 0
-- line height: 24
-- part name: Indx
----- HyperTalk script -----
on mouseUp
global ncard
go to card ncard
end mouseUp
-- part 8 (button)
-- low flags: 00
-- high flags: 2000
-- rect: left=482 top=46 right=67 bottom=506
-- title width / last selected line: 0
-- icon id / first selected line: 20098 / 20098
-- text alignment: 1
-- font id: 0
-- text size: 12
-- style flags: 0
-- line height: 16
-- part name: Home
----- HyperTalk script -----
on mouseUp
click at loc of card button "Meditate / Clear"
go home
end mouseUp
-- part 15 (button)
-- low flags: 00
-- high flags: 2000
-- rect: left=7 top=40 right=74 bottom=37
-- title width / last selected line: 0
-- icon id / first selected line: 2507 / 2507
-- text alignment: 1
-- font id: 0
-- text size: 12
-- style flags: 0
-- line height: 16
-- part name: Help
----- HyperTalk script -----
on mouseUp
set scroll of card field id 16 to 0
show card field id 16
end mouseUp
-- part 17 (button)
-- low flags: 00
-- high flags: 2000
-- rect: left=7 top=104 right=121 bottom=36
-- title width / last selected line: 0
-- icon id / first selected line: 1004 / 1004
-- text alignment: 1
-- font id: 0
-- text size: 12
-- style flags: 0
-- line height: 16
-- part name: Commercial
----- HyperTalk script -----
on mouseUp
show card field id 18
end mouseUp
-- part 21 (button)
-- low flags: 00
-- high flags: 2000
-- rect: left=483 top=101 right=129 bottom=506
-- title width / last selected line: 0
-- icon id / first selected line: 1006 / 1006
-- text alignment: 1
-- font id: 0
-- text size: 12
-- style flags: 0
-- line height: 16
-- part name: Quit
----- HyperTalk script -----
on mouseUp
click at loc of card button "Meditate / Clear"
doMenu "Quit HyperCard"
end mouseUp
-- part 18 (field)
-- low flags: 81
-- high flags: 2004
-- rect: left=2 top=31 right=341 bottom=512
-- title width / last selected line: 0
-- icon id / first selected line: 0 / 0
-- text alignment: 0
-- font id: 2
-- text size: 12
-- style flags: 0
-- line height: 16
-- part name: Commercial1
----- HyperTalk script -----
on mouseUp
show card field "Commercial2"
hide card field "Commercial1"
end mouseUp
-- part 19 (field)
-- low flags: 81
-- high flags: 2004
-- rect: left=2 top=31 right=341 bottom=512
-- title width / last selected line: 0
-- icon id / first selected line: 0 / 0
-- text alignment: 0
-- font id: 2
-- text size: 12
-- style flags: 0
-- line height: 16
-- part name: Commercial2
----- HyperTalk script -----
on mouseUp
show card field "Commercial3"
hide card field "Commercial2"
end mouseUp
-- part 20 (field)
-- low flags: 81
-- high flags: 2004
-- rect: left=2 top=31 right=341 bottom=512
-- title width / last selected line: 0
-- icon id / first selected line: 0 / 0
-- text alignment: 0
-- font id: 2
-- text size: 12
-- style flags: 0
-- line height: 16
-- part name: Commercial3
----- HyperTalk script -----
on mouseUp
show card field "Commercial4"
hide card field "Commercial3"
end mouseUp
-- part 22 (button)
-- low flags: 00
-- high flags: 2000
-- rect: left=407 top=0 right=37 bottom=434
-- title width / last selected line: 0
-- icon id / first selected line: 0 / 0
-- text alignment: 1
-- font id: 0
-- text size: 12
-- style flags: 0
-- line height: 16
-- part name: Show all
----- HyperTalk script -----
on mouseUp
show all cards
end mouseUp
-- part 16 (field)
-- low flags: 81
-- high flags: 2007
-- rect: left=0 top=0 right=342 bottom=512
-- title width / last selected line: 0
-- icon id / first selected line: 0 / 0
-- text alignment: 0
-- font id: 2
-- text size: 10
-- style flags: 0
-- line height: 13
-- part name: HelpScreen
----- HyperTalk script -----
on mouseUp
set the scroll of card field HelpScreen to 0
hide card field HelpScreen
end mouseUp
-- part 7 (field)
-- low flags: 80
-- high flags: 4007
-- rect: left=13 top=28 right=331 bottom=498
-- title width / last selected line: 0
-- icon id / first selected line: 0 / 0
-- text alignment: 0
-- font id: 4
-- text size: 9
-- style flags: 0
-- line height: 12
-- part name: Interp
-- part 24 (field)
-- low flags: 80
-- high flags: 4002
-- rect: left=0 top=28 right=126 bottom=308
-- title width / last selected line: 0
-- icon id / first selected line: 0 / 0
-- text alignment: 0
-- font id: 4
-- text size: 9
-- style flags: 0
-- line height: 12
-- part name: Tri
-- part 26 (field)
-- low flags: 81
-- high flags: 2004
-- rect: left=2 top=31 right=341 bottom=512
-- title width / last selected line: 0
-- icon id / first selected line: 0 / 0
-- text alignment: 0
-- font id: 2
-- text size: 12
-- style flags: 0
-- line height: 16
-- part name: Commercial4
----- HyperTalk script -----
on mouseUp
show card field "Commercial5"
hide card field "Commercial4"
end mouseUp
-- part 27 (field)
-- low flags: 81
-- high flags: 2004
-- rect: left=2 top=31 right=341 bottom=512
-- title width / last selected line: 0
-- icon id / first selected line: 0 / 0
-- text alignment: 0
-- font id: 2
-- text size: 12
-- style flags: 0
-- line height: 16
-- part name: Commercial5
----- HyperTalk script -----
on mouseUp
hide card field "Commercial5"
end mouseUp
-- part contents for card part 7
----- text -----
1,1,Ch'ien,The Creative
2,34,K'un,The Receptive
3,5,Chun,Difficulty at the Beginning
4,26,Mêng,Youthful Folly
5,11,Hsü,Waiting (Nourishment)
6,9,Sung,Conflict
7,14,Shih,The Army
8,43,Pi,Holding Together [Union]
9,25,Hsiao Ch'u,The Taming Power of the Small
10,51,Lü,Treading [Conduct]
11,3,T'ai,Peace
12,27,P'i,Standstill [Stagnation]
13,24,T'ung Jên,Fellowship with Men
14,42,Ta Yu,Posession in Great Measure
15,21,Ch'ien,Modesty
16,17,Yü,Enthusiasm
17,6,Sui,Following
18,40,Ku,Work on What Has Been Spoiled [Decay]
19,29,Lin,Approach
20,4,Kuan,Contemplation (View)
21,7,Shih Ho,Biting Through
22,59,Pi,Grace
23,64,Po,Splitting Apart
24,47,Fu,Return (The Turning Point)
25,33,Wu Wang,Innocence (The Unexpected)
26,62,Ta Ch'u,The Taming Power of the Great
27,39,I,The Corners of the Mouth (Providing Nourishment)
28,52,Ta Kuo,Preponderance of the Great
29,15,K'an,The Abysmal (Water)
30,53,Li, Fire
31,56,Hsien,Influence (Wooing)
32,31,Hêng,Duration
33,12,Tun,Retreat
34,16,Ta Chuang,The Power of the Great
35,8,Chin,Progress
36,23,Ming I,Darkening of the Light
37,2,Chia Jên,The Family [The Clan]
38,20,K'uei,Opposition
39,35,Chien,Obstruction
40,45,Hsieh,Deliverance
41,44,Sun,Decrease
42,32,I,Increase
43,48,Kuai,Break-through (Resoluteness)
44,18,Kou,Coming to Meet
45,46,Ts'ui,Gathering Together [Massing]
46,57,Shêng,Pushing Upward
47,50,K'un,Oppression (Exhaustion)
48,28,Ching,The Well
49,13,Ko,Revolution (Molting)
50,55,Ting,The Cauldron
51,63,Chên,The Arousing (Shock;Thunder)
52,22,Kên, Mountain
53,36,Chien,Development (Gradual Progress)
54,37,Kuei Mei,The Marrying Maiden
55,30,Fêng,Abundance [Fullness]
56,49,Lü,The Wanderer
57,10,Sun,The Gentle (The Penetrating;Wind)
58,54,Tui, Lake
59,60,Huan,Dispersion [Dissolution]
60,41,Chieh,Limitation
61,19,Chung Fu,Inner Truth
62,61,Hsiao Kuo,Preponderance of the Small
63,38,Chi Chi,After Completion
64,58,Wei Chi,Before Completion
-- part contents for card part 16
----- text -----
About the "I Ching" Stack
Developed by John G. Cramer,
author of TWISTOR.
(See the "Message" button.)
This stack, copyright 1988 by J. G. Cramer, is semi-freeware. It may be freely used, duplicated, and passed on, but may NOT be modified, except to correct bugs and to include minor improvements. In particular, the commerical "message" about my book TWISTOR must be included in all legal copies of this stack.
WARNING: This stack, in its pristine state, occupies 58K. However, it will grow to 88K when used. Be sure enough disk space is available to accomodate this increase in size.
• Brief instructions:
(1) Put the curson over the Meditate/Clear button until you feel ready to cast a hexagram. The cursor in this position will be observed to vibrate, indicating that a continuous randomization is in progress. Click on the Meditate/Clear button if you wish to clear a previous hexagram reading.
(2) Click on the Cast a Hexagram button. The stack will simulate repeated yarrow stalk manipulations and generate the six lines of the hexagram. The hexagram is identified by number and name, and the upper, lower and two nuclear trigrams of the hexagram are identified and interpreted in the Interpretation window.
(3) At this point you should consult a translation of the I Ching for a full interpretation of the hexagram, including the signifigance of the moving lines. For a quick preliminary interpretation, you may click on the Hexagram or Interpretation windows.
• Discussion:
The I Ching is an ancient Taoist book of oracular wisdom. It is unique and remarkable. The great psychologist Carl Jung was so taken with the surprising predictive wisdom of the Oracle that he formulated the concept of synchronicity in an attempt to explain, in a western context, how random manipulations of yarrow stalks leading to readings from a 3000 year old book could yield advice and counsel that seems so appropriate to 20th century people and their problems. I first encountered the I Ching as a result of reading Philip K. Dick's The Man in the High Castle (it is essentially a character in the book), and have been facinated by it ever since.
Let me make one thing perfectly clear. I do not believe in prophecy or fortune telling, or even in Jung's synchronicity, whether done with the use of the I Ching or otherwise. My view is that the human brain is in part a magnificent pattern-recognition engine. Given the opportunity, it will "see" many patterns that are interior to the mind rather than a part of the outside world. The I Ching provides a rich and varied matrix for such interior pattern recognition, and is thus actually a form of introspection, the recognition of things within ourselves which might be difficult, without the aid of the Oracle, to see. Thus the introspective aspects of the I Ching are far more important than the purely mechanical aspects that are provided by this stack.
I wrote this stack as an exercise in HyperTalk programming, and also as a medium for publicising my first science fiction novel, TWISTOR which is to be published in hardcover in March, 1989 by William Morrow & Co. (See the "Message" button for more details.) The I Ching stack has two functions: first it casts a hexagram; second it interprets it. The casting is authentic. The interpretation provided in this stack is minimal, does not address the interpretation of changing lines, and should be used only as a preliminary first step in a serious interpretation. The use of a printed copy of the I Ching is strongly recommended for the latter. I prefer the hardcover Wilhelm/Baynes translation printed by Princeton University Press, although several less elegant translations are available in inexpensive paperback editions.
There are two traditional ways of casting a hexagram for the I Ching, the "quick-and-dirty" three-coins method which is in the widest use because of its simplicity, and the more ancient and involved yarrow-stalk method which requires the repeated division and counting of a starting bundle of 50 yarrow stalks (think of the yarrow stalks as a bundle of long match sticks). At the end of each pass there will be 1 to 4 yarrow stalks held between the little and ring fingers, the ring and middle fingers, and the middle and index fingers. These are combined in a pile. This process is repeated with a reduced number of stalks until three such piles are produced. These are then combined to determine a line of the hexagram, . The two methods yield different results, in that the relative probabilities of the four possible lines are somewhat different in the two techniques. This stack employs the venerable yarrow-stalk method, substituting pseudo-random pure numbers and HyperTalk operations for the actual manipulation of the yarrow stalks. The numbers appearing in the Yarrow Stalk Manipulation window during the division indicate the stages in the process and the lines which are generated as a result.
As the six lines are generated, the hexagram they signify is constructed from the bottom up and is shown in the Hexagram window. The lines generated are of four forms which are denoted by the digits 6, 7, 8, and 9 appearing in the upper window:
• The 6 is a broken "moving" line of the form: --- x ---;
• The 7 is a solid "fixed" line of the form: ---------;
• The 8 is a broken "fixed" line of the form: --- ---;
• The 9 is a solid "moving" line of the form: ----o----.
For the principal interpretation of the hexagram, the two broken lines --- ---
and --- x --- (6 and 8) are considered equivalent, as are the two solid lines ---------
and ----o---- (7 and 9). However, an additional significance is attached to each moving line in the hexagram, which changes to its opposite. A simple interpretation of each of the 64 hexagrams is provided in the stack, and may be consulted by clicking on the Hexagram or Interpretation windows. For a full interpretation including the significance of the moving lines, the user must consult a printed copy of the I Ching.
Each hexagram may be analyzed as an upper trigram (positions 4, 5, 6) and a lower trigram (positions 1,2,3), as well as two "nuclear" trigrams at (3,4,5) and (2,3,4). There are eight possible trigrams, and each has its own significance. These are given in the Interpretation window.
-- part contents for card part 18
----- text -----
AND NOW ... A WORD FROM THE STACK DEVELOPER
John G. Cramer, author of TWISTOR
Hello. I'm John Cramer. I wrote this stack, and I'm circulating it as semi-freeware. It's a nice stack, as I'm sure you'll agree, but, frankly, it's a medium for getting your attention long enough to tell you about my first novel, TWISTOR, which is being published in hardcover in March of 1989 by William Morrow & Co., Inc. New writers are advised to "write about what you know." Well, I know physics. I'm a Professor of Physics at the University of Washington in Seattle, where I teach and do research. I also write a bi-monthly science column, "The Alternate View", for ANALOG magazine.
TWISTOR is set at my university and describes the process of scientific discovery -- its difficulty, its excitement, its importance, its impact. It's about Vickie, a graduate student, and David, a postdoc, working together on what seems to be fairly standard physics research until they discover an unexpected new phenomenon, the Twistor Effect. We follow the Twistor Effect from its accidental discovery through to full understanding of its implications, which takes David right out of this universe and into another one.
(click for more)
-- part contents for card part 19
----- text -----
I wrote TWISTOR because it's the kind of hard science fiction story I enjoy reading, the kind I always search for in the SF sections of bookstores and libraries. It's perhaps obvious that I should like what I write . However, some of the foremost writers of the science fiction field have recently read TWISTOR. You may be interested in what they have to say about it:
"Finally, the most exciting novel about the cutting edge of physics since TIMESCAPE. TWISTOR takes you into the lab and through the world of far-out theory, all in a swooping story of adventure."
-- David Brin
"A fine hard-science fiction thriller, very enjoyable. TWISTOR is an auspicious debut for Dr. John Cramer."
-- Greg Bear
(click for more)
-- part contents for card part 20
----- text -----
"TWISTOR is a rare blend of high imagination and fun by a writer who understands how research really works, both on the scientific and the human levels. It made me feel as if I were back in the lab myself -- and glad to be there."
-- Stanley Schmidt
"John Cramer's TWISTOR is a wonderful romp through the several universes of real science, from the thin abstraction of particle theory to the grubby, greasy, problem-plagued experimental laboratory, and on to the intricacies of departmental politics and the pitfalls of institutional funding. Before Cramer has finished telling his ingenious tale, TWISTOR has taken us right out of this world into a plausible universe next door. The ideas are as startlingly original as anything in the work of Robert Forward or James P. Hogan, with the added attraction of likeable flesh and blood characters and an order of magnitude better storytelling."
-- Paul Preuss
(click for more)
-- part contents for card part 24
----- text -----
1,1,Ch'ien,Heaven,Creative,strong
2,8,Chên,Thunder,Arousing,inciting movement
3,7,K'an,Water,Abysmal,dangerous
4,2,Kên,Mountain,Quiet,resting
5,6,K'un,Earth,Receptive,devoted/yielding
6,3,Sun,Wind/Wood,Gentle,penetrating
7,4,Li,Fire,Clinging,life-giving
8,5,Tui,Lake,Joyous,joyful
-- part contents for card part 26
----- text -----
"TWISTOR tells an exciting story that employs concepts even more exciting. Authors who not only know science but practice it are all too rare. John Cramer's distinguished career as a physicist enables him to give this novel a ring of authenticity, not only scientific, but human."
-- Poul Anderson
"John Cramer's first novel has fascinating extrapolation, strong characters, and accelerating suspense. Once you've read TWISTOR, Cramer will be on your Must-Read list."
-- F. M. Busby
"John Cramer's first science fiction novel has two great things going for it. His scientific background includes degrees in physics, and he has been teaching the subject at university level. And somehow he also learned to intertwine his far-reaching knowledge with a wonderful, exciting story. TWISTOR may well be the best SF novel of the year."
-- A. E. van Vogt
(click for more)
-- part contents for card part 27
----- text -----
"TWISTOR marks the arrival of a major new science fiction talent. John Cramer knows science, and people. He possesses to a phenomenal degree the wit, ingenuity, and soaring imagination all of us hope for; and they make TWISTOR a book no intelligent reader should miss."
-- Gene Wolfe
"True hard science fiction -- deftly done, with plenty of fine surprises."
-- Gregory Benford
But you don't have to take the word of these distinguished authors either. In March, 1989, TWISTOR will be available in hardcover in better bookstores. Pick up a copy and see for yourself.
And here's some advice from John Cramer, the book collector. Because TWISTOR is a first novel, its press run will be fairly small. First edition/printings promise to soon become rare collector's items. So act soon, while copies are still available.